xsm: refactor IO hooks/sysctl hooks
authorKeir Fraser <keir.fraser@citrix.com>
Thu, 4 Sep 2008 10:25:09 +0000 (11:25 +0100)
committerKeir Fraser <keir.fraser@citrix.com>
Thu, 4 Sep 2008 10:25:09 +0000 (11:25 +0100)
commitaff2988ad524ed3835bd0c402f8ec25264db61ea
tree12ba50c678f9862e3b519adf0605c97d2c7d3df3
parent06cfe5df7bdadd1972619d26127bd18a56a1db04
xsm: refactor IO hooks/sysctl hooks

- The patch refactors the IO resource checks into the rangeset add/del
  code. This produces a much more architecture friendly implementation and
  ensures that HVM and paravirtualized guests are checked consistently.

- The patch removes the following hooks in support of the refactoring
  of the IO resource checks:
    - xsm_irq_permission
    - xsm_iomem_permission
    - xsm_ioport_permission

- The patch adds the following hooks in support of the refactoring of
  the IO resource checks:
    - xsm_add_range
    - xsm_remove_range

- These IO refactoring changes are transparent to any pre-existing
  Flask policies.

- The patch adds also adds hooks for sysctl functionality that was
  added since the last major XSM patch.  The following hooks were added:
    - xsm_set_target
    - xsm_debug_keys
    - xsm_getcpuinfo
    - xsm_availheap
    - xsm_firmware_info
    - xsm_acpi_sleep
    - xsm_change_freq
    - xsm_getidletime
    - xsm_sendtrigger
    - xsm_test_assign_device
    - xsm_assign_device
    - xsm_deassign_device
    - xsm_bind_pt_irq
    - xsm_pin_mem_cacheattr
    - xsm_ext_vcpucontext

Signed-off-by: George Coker <gscoker@alpha.ncsc.mil>
15 files changed:
xen/arch/x86/domctl.c
xen/arch/x86/platform_hypercall.c
xen/common/domctl.c
xen/common/rangeset.c
xen/common/sysctl.c
xen/include/xsm/xsm.h
xen/xsm/dummy.c
xen/xsm/flask/hooks.c
xen/xsm/flask/include/av_perm_to_string.h
xen/xsm/flask/include/av_permissions.h
xen/xsm/flask/include/flask.h
xen/xsm/flask/include/initial_sid_to_string.h
xen/xsm/flask/include/security.h
xen/xsm/flask/ss/policydb.h
xen/xsm/flask/ss/services.c